package com.dc.commons.persistence;

import javax.persistence.EntityListeners;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;

import com.dc.commons.jpa.listeners.AuditJpaListener;
import com.dc.commons.jpa.listeners.OperatorJpaListener;
import com.dc.commons.jpa.listeners.SimpleJpaListener;
import com.dc.commons.jpa.listeners.UseJpaListener;
import com.dc.commons.persistence.able.IDAble;
import com.dc.commons.persistence.annocation.DefaultStatus;

/*******************************************************************************<P>
 * 文件名: BaseEntity.java <br>
 * 版本: 1.0<br>
 * 描述:<br>
 * 版权所有: <br>
 * <P>
 * 创建者: 王建栋 <br>
 * 创建日期: 2015年12月21日 下午11:46:17<br>
 * 修改者: <br>
 * 修改日期: <br>
 * 修改说明: <br>
 ******************************************************************************/
@MappedSuperclass
@EntityListeners({SimpleJpaListener.class,OperatorJpaListener.class,UseJpaListener.class,AuditJpaListener.class})
@DefaultStatus
public abstract class BaseEntity implements IDAble{

	/**
	 * 主键
	 */
	private String id;
	
	/* (non-Javadoc)
	 * @see com.dc.commons.persistence.able.IDAble#getId()
	 */
	@Id
	@Override
	public String getId() {
		return this.id;
	}

	/* (non-Javadoc)
	 * @see com.dc.commons.persistence.able.IDAble#setId(com.dc.commons.persistence.embeddable.ID)
	 */
	@Override
	public void setId(String id) {
		this.id=id;
	}

}
